package org.jiuling.local.tools.verify;

import java.math.BigDecimal;

/**
 * 对象校验
 * @author 紫灵
 * @date 2021年09月09日 10时56分41秒
 */
@Deprecated
public class ObjectVerify {

    /** 私有构造方法，禁止创建对象 */
    private ObjectVerify(){}

    /**
     * 验证是否为空
     * @param obj 对象
     * @return true 为空 false 不为空
     */
    public static boolean isNull(Object obj){
        return obj == null;
    }

    /**
     * 验证是否是基础数据
     * @param obj 对象
     * @return true 为基础数据 false 不为基础数据
     */
    public static boolean isBaseType(Object obj){
        if(isNull(obj)){
            return false;
        }
        if(obj instanceof String ||
                obj instanceof Integer ||
                obj instanceof Short ||
                obj instanceof Long ||
                obj instanceof Float ||
                obj instanceof Double ||
                obj instanceof Boolean ||
                obj instanceof Character ||
                obj instanceof BigDecimal ||
                obj instanceof Number ||
                obj instanceof Byte){
            return true;
        }
        Class<?> clazz = obj.getClass();
        return clazz.equals(int.class) ||
                clazz.equals(byte.class) ||
                clazz.equals(long.class) ||
                clazz.equals(float.class) ||
                clazz.equals(double.class) ||
                clazz.equals(boolean.class) ||
                clazz.equals(char.class) ||
                clazz.equals(short.class);
    }
}
